1. Technology Field
The present invention relates to a method of programming data into a rewritable non-volatile memory chip. More particularly, the present invention relates to a method of programming data into a rewritable non-volatile memory module of a rewritable non-volatile memory chip, and a memory storage device and a memory controller using the same.
2. Description of Related Art
Since a flash memory has advantages of non-volatile, low power consumption, small volume and non-mechanical structure, etc., it is widely used in various electronic devices. More and more portable storage devices such as memory cards or flash drives take the flash memory as a storage medium.
Flash memory chips in some memory storage devices include a plurality of flash memory modules, wherein each of the flash memory modules includes a plurality of physical blocks, and each of the physical blocks includes a plurality of physical pages. In the memory storage devices mentioned above, the physical blocks in all flash memory modules are logically grouped into a plurality of physical units by the memory controller of the memory storage devices to facilitate the management. In addition, the memory controller connects to the flash memory modules through several data input/output buses respectively. Therefore, when the host system is about to access the flash memory chip, the memory controller accesses the physical blocks in one physical unit simultaneously through the data input/output buses.
In this configuration, when the host system is about to write data into the flash memory chip, the memory controller writes data into the corresponding flash memory module according to a logical address corresponding to a host write command. It is assumed that one physical page includes four sectors. If the host system sends three write commands sequentially and respectively, wherein the first write command is about to write data into the logical address corresponding to the zeroth and third physical sectors of the first flash memory module, the second write command is about to write data into the logical address corresponding to the second physical sector of the first flash memory module, and the third write command is about to write data into the logical address corresponding to the first physical sector of the first flash memory module. Since the data to be written requested by these three write commands belong to the same flash memory module, the memory controller writes data corresponding to the three write commands into different physical pages of the first flash memory module sequentially and respectively. When the host system is about to read the foregoing data, the memory controller has to access the first flash memory module for three times to read out the data. In other words, the memory controller has to perform the read operation on the first flash memory module for three times to completely read out the data, and therefore decreases the data reading speed.
Nothing herein should be construed as an admission of knowledge in the prior art of any portion of the present invention. Furthermore, citation or identification of any document in this application is not an admission that such document is available as prior art to the present invention, or that any reference forms a part of the common general knowledge in the art.